var log = console.log.bind(console);

//$(document).ready(function(){__main();});
$(function () {
    __main();
});
window.currentDir = "";

function __main() {
        //初始化模态框
        var modal = new Model();
        // 初始化表格
        var oTable = new Table();
        //oTable.init();

        // 初始化文件树
        var treeView = new TreeView();
        //treeView.init();
        var tbar = new Toolbar(oTable);
}


/**
 * 文件上传的初始化方法
 *
 * @returns
 */
function uploadInit() {

    $('#fileupload-modal').fileupload({
        dataType: 'json',

        done: function (e, data) {
            $("tr:has(td)").remove();
            $.each(data.result, function (index, file) {

                $("#uploaded-files").append(
                    $('<tr/>')
                        .append($('<td/>').text(file.fileName))
                        .append($('<td/>').text(file.fileSize))
                        .append($('<td/>').text(file.fileType))
                        .append($('<td/>').html("<a href='files/get/" + index + "'>Click</a>"))
                )// end $("#uploaded-files").append()
            });
        },

        progressall: function (e, data) {
            var progress = parseInt(data.loaded / data.total * 100, 10);
            $('#progress .bar').css(
                'width',
                progress + '%'
            );
        },

        dropZone: $('#dropzone')
    });
}


function enterDir(currentDir) {
    var urlStr = "file/list";
    var dirs = new Array();
    if (currentDir != "") {
        dirs = currentDir.split('/');
    }
    console.log(currentDir)
    $.ajax({
        type: "get",
        url: urlStr,
        data: {dir: currentDir},
        dataType: "json",
        success: function (json) {
            $("#table").bootstrapTable('load', json);// 主要是要这种写法
            // console.log(json.path)

        }
    });
    $("#currentDir").empty();
    for (var i in dirs) {
        $("#currentDir").append("<li>" + dirs[i] + "</li>");
    }
}


// -----------工具方法------------------------------------------------------------------------
// 对Date的扩展，将 Date 转化为指定格式的String
// 月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符，
// 年(y)可以用 1-4 个占位符，毫秒(S)只能用 1 个占位符(是 1-3 位的数字)
// 例子：
// (new Date()).Format("yyyy-MM-dd hh:mm:ss.S") ==> 2006-07-02 08:09:04.423
// (new Date()).Format("yyyy-M-d h:m:s.S") ==> 2006-7-2 8:9:4.18
function dateFormat ( date, fmt) {
    let o = {
        "M+": date.getMonth() + 1, // 月份
        "d+": date.getDate(), // 日
        "h+": date.getHours(), // 小时
        "m+": date.getMinutes(), // 分
        "s+": date.getSeconds(), // 秒
        "q+": Math.floor((date.getMonth() + 3) / 3), // 季度
        "S": date.getMilliseconds() // 毫秒
    };
    if (/(y+)/.test(fmt)) {
        fmt = fmt.replace(RegExp.$1, (date.getFullYear() + "").substr(4 - RegExp.$1.length));
    }
    for (var k in o)
        if (new RegExp("(" + k + ")").test(fmt))
            fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
    return fmt;
}

// 将字节转换为合适的大小
function convertBytes(value) {
    // B/KB/KB/MB/GB/TB 转换字节大小
    var unit = ['B', 'KB', 'MB', 'GB', 'TB'];
    var i = 0;
    while (value > 1024) {
        value /= 1024;
        i++;
    }
    return value.toFixed(2) + unit[i];
}


